package com.jdd.modules.parkcar.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.jdd.modules.order.entity.ParkOrderInfo;
import com.jdd.modules.parkcar.entity.ParkCarOutAbnormalLog;
import com.jdd.modules.parking.entity.ParkCarEnterLog;
import com.jdd.modules.parking.vo.ParkCarEnterLogDTO;

import java.util.List;

/**
 * @Description: 车辆异常出场日志表
 * @Author: jdd
 * @Date: 2021-09-09
 * @Version: V1.0
 */
public interface IParkCarOutAbnormalLogService extends IService<ParkCarOutAbnormalLog> {
    /**
     * 查询近15天异常出场记录
     *
     * @return
     */
    List<ParkCarEnterLogDTO> findAbnormalLog();

    /**
     * 判断异常记录并且保存,两个参数不能都为null
     *
     * @param carEnterLog 入场纪录，为null时是无入场手动开闸，不为null时判断补录或者匹配
     * @param orderInfo   订单信息，为null时是二次进场，异常记录表要用
     */
    void saveAbnormal(ParkCarEnterLog carEnterLog, ParkOrderInfo orderInfo);

    /**
     * 查找二次进场的异常车辆，并保存到异常记录
     *
     * @param targetAreaId 目标区域id
     * @param license      车牌号
     */
    void findAbnormals(String targetAreaId, String license);
}
